package com.ruoyi.course.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 时间段管理对象 time_slot
 * 
 * @author chenxl
 * @date 2025-06-29
 */
public class time_slot extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 时间段ID */
    private String id;

    /** 时间段编码（如：T01） */
    @Excel(name = "时间段编码", readConverterExp = "如=：T01")
    private String timeCode;

    /** 时间段描述（如：周一第1-2节） */
    @Excel(name = "时间段描述", readConverterExp = "如=：周一第1-2节")
    private String timeDescription;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 周几(1-7，1=周一) */
    @Excel(name = "周几(1-7，1=周一)")
    private Long dayOfWeek;

    /** 学期ID（整数类型，对应字典值） */
    @Excel(name = "学期ID", readConverterExp = "整=数类型，对应字典值")
    private Long semesterId;

    public void setId(String id) 
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }

    public void setTimeCode(String timeCode) 
    {
        this.timeCode = timeCode;
    }

    public String getTimeCode() 
    {
        return timeCode;
    }

    public void setTimeDescription(String timeDescription) 
    {
        this.timeDescription = timeDescription;
    }

    public String getTimeDescription() 
    {
        return timeDescription;
    }

    public void setStartTime(Date startTime) 
    {
        this.startTime = startTime;
    }

    public Date getStartTime() 
    {
        return startTime;
    }

    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }

    public void setDayOfWeek(Long dayOfWeek) 
    {
        this.dayOfWeek = dayOfWeek;
    }

    public Long getDayOfWeek() 
    {
        return dayOfWeek;
    }

    public void setSemesterId(Long semesterId) 
    {
        this.semesterId = semesterId;
    }

    public Long getSemesterId() 
    {
        return semesterId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("timeCode", getTimeCode())
            .append("timeDescription", getTimeDescription())
            .append("startTime", getStartTime())
            .append("endTime", getEndTime())
            .append("dayOfWeek", getDayOfWeek())
            .append("semesterId", getSemesterId())
            .toString();
    }
}
